package com.platform.modular.feign.account;

import com.platform.modular.feign.model.entity.MerchantAccountEntity;
import com.platform.modular.model.account.vo.AdviserBaseVO;
import com.platform.modular.model.account.vo.AdviserDetailVO;
import com.platform.modular.model.account.vo.MyAdviserVO;
import com.platform.modular.model.account.vo.PersonalCenterDetailVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @author yifei.han
 * @version 1.0
 * @className MerchantAccountFeignService
 * @description
 * @date 2022/3/16
 */
@FeignClient(value = "sk-platform-account", contextId = "merchantAccount")
public interface MerchantAccountFeignService {

    @RequestMapping(value = "/merchantAccount/miniprogramPersonalCenterDetail")
    PersonalCenterDetailVO miniprogramPersonalCenterDetail(@RequestParam("accountId") Long accountId,
                                                           @RequestParam("merchantId") Long merchantId);

    @RequestMapping(value = "/merchantaccount/queryExclusiveAdviser")
    MerchantAccountEntity queryExclusiveAdviser(@RequestParam("accountId") Long accountId,
                                                @RequestParam("merchantId") Long merchantId);

    @RequestMapping(value = "/merchantaccount/obtainExclusiveAdviserBase")
    AdviserBaseVO obtainExclusiveAdviserBase(@RequestParam("accountId") Long accountId,
                                             @RequestParam("merchantId") Long merchantId);

    @RequestMapping(value = "/merchantaccount/obtainAdviserBase")
    AdviserBaseVO obtainAdviserBase(Long adviserId);

    @RequestMapping(value = "/merchantaccount/obtainMyAdviser")
    MyAdviserVO obtainMyAdviser(@RequestParam("accountId") Long accountId,
                                @RequestParam("merchantId") Long merchantId);


    @RequestMapping(value = "/merchantaccount/obtainAdviserDetail")
    AdviserDetailVO obtainAdviserDetail(Long adviserId);

}
